Technote 1093

QuickDraw GX 'rdip' Resources: The Number of the Beast

ñ⁄éü

'rdip' ÉäÉ\Å[ÉX - âΩÇ™Ç≈Ç´ÇÈÇÃÇ©

íËã`

àÍî ÉZÉbÉgÉAÉbÉvèÓïÒ (è„à ÉrÉbÉg)

ÉvÉåÅ[Éì
ÉvÉåÅ[ÉìÉIÉvÉVÉáÉì

ÉfÉBÉUÉäÉìÉOÇ…ëŒâûÇ∑ÇÈÉvÉåÅ[ÉìÇÃíl

ÉnÅ[ÉtÉgÅ[ÉìÉåÉìÉ_ÉäÉìÉOÇ…ëŒâûÇ∑ÇÈÉvÉåÅ[ÉìÇÃíl

ImageWriter II Ç≈ÉnÅ[ÉtÉgÅ[ÉìÉåÉìÉ_ÉäÉìÉOÇçsǧÇΩÇflÇÃ'rdip' ÉäÉ\Å[ÉXÇÃÉTÉìÉvÉã

ǪÇÃèÍÇ≈ÉâÉXÉ^ÉvÉäÉtÉ@ÉåÉìÉXÇ…ÉpÉbÉ`ÇìñǃÇÈ

äeÉvÉåÅ[ÉìÇÇ‹ÇΔÇflǃàÛç¸Ç∑ÇÈ

óvñÒ
QuickDraw GX ÇÃÉâÉXÉ^ÉvÉäÉtÉ@ÉåÉìÉX ('rdip') ÉäÉ\Å[ÉXÇégópÇ∑ÇÈÇΔÅAÉâÉXÉ^ÉvÉäÉìÉ^ÉhÉâÉCÉoÇÃÉfÉxÉçÉbÉpÇÕÉvÉäÉìÉ^Ç…ÇÊÇÈÉCÉÅÅ[ÉWÇÃÉåÉìÉ_ÉäÉìÉOï˚ñ@Çç◊Ç©Ç≠êßå‰Ç∑ÇÈDZÇΔÇ™Ç≈Ç´Ç‹Ç∑ÅBǵǩLJÅAÉåÉìÉ_ÉäÉìÉOÉcÅ[ÉãǪÇÃLJÇÃÇèëÇ≠ïKóvÇÕdžÇËÇ‹ÇπÇÒÅBǵǩǵÅAéQçlï∂å£Ç™è≠ǻǢÇΩÇflÅADZÇÃÉäÉ\Å[ÉXÇÃç≈ìKÇ»égÇ¢ï˚DžǬǢǃëΩÇ≠ÇÃÉfÉxÉçÉbÉpÇ™ç¨óêǵǃǢÇÈÇÃLJéñé¿Ç≈Ç∑ÅBDZÇÃTECHNOTE Ç≈ÇÕÅAéüÇÃÉeÅ[É}DžǬǢǃê‡ñæÇµÇ‹Ç∑ÅB
Åú 'rdip' Ç…ä‹Ç‹ÇÍÇÈÉvÉåÅ[ÉìÉtÉâÉOÇΔÅAëºÇÃÉtÉBÅ[ÉãÉhÇ÷ÇÃǪÇÍÇÁÇÃâeãø
Åú ǪÇÃèÍÇ≈ 'rdip' Ç…ÉpÉbÉ`ÇìñǃÇÈï˚ñ@
Åú ǪÇÍǺÇÍÇÃÉvÉåÅ[ÉìÇÇ‹ÇΔÇflǃÉåÉìÉ_ÉäÉìÉOÇ∑ÇÈï˚ñ@


DZÇà TECHNOTE Çç≈ëÂå¿Ç…óòópÇ∑ÇÈÇΩÇflÇ…ÇÕÅA"IW-Half-Dither" ÉTÉìÉvÉãÉRÅ[ÉhÇéQçlÇ…Ç∑ÇÈDZÇΔÇã≠Ç≠Ç®ä©ÇflǵNjÇ∑ÅBDZÇÃÉTÉìÉvÉãÉRÅ[ÉhÇÕÅAÅuDeveloper CD series: Tool Chest EditionÅvÇ…é˚ò^Ç≥ÇÍǃǢNjÇ∑ÅBÇ‹ÇΩÅAApple ÇÃÉfÉxÉçÉbÉp Web ÉTÉCÉg (ftp://ftpdev.info.apple.com/Developer_Services/Sample_Code/QuickDraw_GX/IW-Half-Dither/)Ç≈LJì¸éËÇ≈Ç´Ç‹Ç∑ÅB

DZÇà TECHNOTE ÇÕÅAéÂÇΔǵǃÅAQuickDraw GX ÉâÉXÉ^ÉvÉäÉìÉ^ÉhÉâÉCÉoÇ… 'rdip' ÉäÉ\Å[ÉXÇóòópǵÇÊǧÇΔǵǃǢÇÈÉfÉxÉçÉbÉpå¸ÇØÇ…èëÇ©ÇÍǃǢNjÇ∑ÅBDZÇà TECHNOTE Ç≈ÇÕÅACMYK ÉvÉäÉìÉ^Ç…ìKçáǵÇΩÉTÉìÉvÉãÇégǡǃǢNjÇ∑ÅB


'rdip' ÉäÉ\Å[ÉX - âΩÇ™Ç≈Ç´ÇÈÇÃÇ©
"ÉâÉXÉ^ÉvÉäÉtÉ@ÉåÉìÉX" Ç‹ÇΩÇÕ 'rdip' ÉäÉ\Å[ÉXÇégópÇ∑ÇÈÇΔÅAQuickDraw GX Ç™ÉâÉXÉ^ÉxÅ[ÉXÇÃÉvÉäÉìÉ^Ç≈ÉCÉÅÅ[ÉWÇÉåÉìÉ_ÉäÉìÉOÇ∑ÇÈï˚ñ@Çêßå‰Ç∑ÇÈDZÇΔÇ™Ç≈Ç´Ç‹Ç∑ÅBDZÇÃÉäÉ\Å[ÉXÇ…ÇÕÇ¢Ç≠ǬǩÇÃÉtÉâÉOÇ™ópà”Ç≥ÇÍǃǮÇËÅADZÇÍÇÁÇê≥ǵÇ≠ÉZÉbÉgÉAÉbÉvÇ∑ÇÍÇŒÅAÉfÉBÉUÇ‹ÇΩÇÕÉnÅ[ÉtÉgÅ[ÉìÉCÉÅÅ[ÉWÇÃÇ¢Ç∏ÇÍÇ©ÇëIëÇ≈Ç´Ç‹Ç∑ÅBDZÇÃÉäÉ\Å[ÉXÇÕÅAQuickDraw GX ÇÃì‡ïîÉåÉìÉ_ÉäÉìÉOÉGÉìÉWÉìÇêßå‰Ç∑ÇÈÇΩÇflÇ…égópÇ≈Ç´Ç‹Ç∑ÅB

DZÇÃÉäÉ\Å[ÉXÇ…ä‹Ç‹ÇÍÇÈÇ≥NjǥNjǻÉpÉâÉÅÅ[É^ÇÕÅAÅuInside Macintosh: QuickDraw GX Printing Extensions and DriversÅvÇà 6-66 ÉyÅ[ÉWÇ©ÇÁ 6-72 ÉyÅ[ÉWÇ≈âê‡Ç≥ÇÍǃǢNjÇ∑ÅBÇΩÇæÇµÅAInside Macintosh ÇÃDZÇÃÉZÉNÉVÉáÉìÇ≈ÇÕÅAäeÉpÉâÉÅÅ[É^DžǬǢǃàÍí ÇËÇÃê‡ñæÇÕâ¡Ç¶ÇÁÇÍǃǢNjÇ∑Ç™ÅAǪÇÍǺÇÍÇÃÉpÉâÉÅÅ[É^Ç™ëºÇÃÉpÉâÉÅÅ[É^ÇΔÇ«ÇÃÇÊǧDžëäå›Ç…ä÷òAǵǃǢÇÈǩDžǬǢǃÇÕNjǡÇΩÇ≠êGÇÍÇÁÇÍǃǢNjÇπÇÒÅBà»â∫Ç…ÅADZÇÃç\ë¢ëÃÇÃíËã`Çé¶ÇµÇ‹Ç∑ÅBíËã`ÇÃíÜÇ≈ÇÕÅAgxRasterPrefsRec ÇΔǢǧä÷òAÇ∑ÇÈÉfÅ[É^ç\ë¢ëÃÇ≈égópÇ≥ÇÍǃǢÇÈñºëOÇ™égÇÌÇÍǃǢNjÇ∑ÅB

DZÇÃÉfÅ[É^ç\ë¢ëÃÇÕàÍå©îÒèÌÇ…ï°éGÇ…å©Ç¶Ç‹Ç∑Ç™ÅAé¿ç€Ç…ÇÕàÍî ÉZÉbÉgÉAÉbÉvèÓïÒÇΔÉvÉåÅ[ÉìèÓïÒÇΔǢǧ 2 ǬÇÃÉZÉNÉVÉáÉìÇ…ï™ÇØÇÈDZÇΔÇ™Ç≈Ç´Ç‹Ç∑ÅBäeÉvÉåÅ[ÉìèÓïÒÇÃílÇÕÅAÉnÅ[ÉtÉgÅ[ÉìèàóùÇΔÉfÉBÉUèàóùÇÃÇ«ÇøÇÁÇëIëÇ∑ÇÈǩDžÇÊǡǃàŸÇ»ÇËÇ‹Ç∑ÅBǪÇÍǺÇÍÇÃÉvÉåÅ[ÉìÇÕÅAQuickDraw GX Ç…ÇÊǡǃê∂ê¨Ç≥ÇÍÅAå¬ï Ç…ÉåÉìÉ_ÉäÉìÉOÇ≥ÇÍÇÈÇΔå©Ç»Ç∑DZÇΔÇ™Ç≈Ç´Ç‹Ç∑ÅBàÍî Ç…ÅAÉfÉBÉUÉCÉÅÅ[ÉWÇÕ 1 ǬÇÃÉvÉåÅ[Éìì‡Ç≈çÏê¨Ç≥ÇÍÇ‹Ç∑Ç™ÅAÉnÅ[ÉtÉgÅ[ÉìÉCÉÅÅ[ÉWÇ…ÇÕ 4 ǬÇÃÉvÉåÅ[ÉìÇ™ïKóvÇ≈Ç∑ÅB1 ǬÇÃÉvÉåÅ[Éìì‡Ç≈ÉnÅ[ÉtÉgÅ[ÉìÉCÉÅÅ[ÉWÇçÏê¨ÇµÇÊǧÇΔÇ∑ÇÈÇΔÅAçïêFÇ™ê≥ǵÇ≠èàóùÇ≥ÇÍÇ‹ÇπÇÒÅB4 ǬÇÃÉvÉåÅ[ÉìÇégópÇ∑ÇÈLJǧ 1 ǬÇÃóòì_ÇÕÅAäpìxÇé©óRÇ…ïœÇ¶ÇÁÇÍÇÈÇΔǢǧDZÇΔÇ≈Ç∑ÅB


íËã`
ÉâÉXÉ^ÉvÉäÉtÉ@ÉåÉìÉX ('rdip') ÉäÉ\Å[ÉX (gxRasterPrefsType å^) ÇÕÅAÉâÉXÉ^ÉhÉâÉCÉoÇ…ëŒÇ∑ÇÈÉåÉìÉ_ÉäÉìÉOÉIÉvÉVÉáÉìÇêßå‰ÇµÇ‹Ç∑ÅBDZÇÃÉäÉ\Å[ÉXÇÕÅAÇ∑Ç◊ǃÇÃÉâÉXÉ^ÉvÉäÉìÉ^ÉhÉâÉCÉoÇ…ïKóvÇ≈Ç∑ÅB


éüÇ…ÅAÉâÉXÉ^ÉvÉäÉtÉ@ÉåÉìÉXÇÃç\ë¢Çé¶ÇµÇ‹Ç∑ÅB


'rdip'ÉfÅ[É^å^

renderOptions	gxRasterRenderOptions Çä‹Çfi long
hImageRes		Fixed
vImageRes		Fixed
minBandSize	short
maxBandSize	short
ramPercentage	Fixed
ramSlop		long
depth		short
numPlanes		short

ÉvÉåÅ[ÉìÉZÉbÉgÉAÉbÉvîzóÒ

planeOptions	gxRasterPlaneOptions Çä‹Çfi long
angle		Fixed
frequency		Fixed
method		gxDotType
tinting		gxTintType
dotColor		gxColor
backgroundColor	gxColor
tintSpace		gxColorSpace
planeSpace	gxColorSpace
planeSet		ÉJÉâÅ[ÉZÉbÉgÇ‹ÇΩÇÕDZÇÃÉfÅ[É^ç\ë¢ëÃÇ…ä‹Ç‹ÇÍÇÈ gxColorSet ÇÃÉäÉ\Å[ÉX ID
planeProfile	ÉJÉâÅ[ì¡ê´Ç‹ÇΩÇÕDZÇÃÉfÅ[É^ç\ë¢ëÃÇ…ä‹Ç‹ÇÍÇÈ gxColorProfile ÇÃÉäÉ\Å[ÉX ID

àÍî ÉZÉbÉgÉAÉbÉvèÓïÒ (è„à ÉrÉbÉg)
Åú renderOptions: DZÇÃÉpÉâÉÅÅ[É^ÇégǡǃÅAÉåÉìÉ_ÉäÉìÉOÇÃï˚ñ@Çêßå‰Ç∑ÇÈDZÇΔÇ™Ç≈Ç´Ç‹Ç∑ÅBàÍî Ç…ÅAÉfÉtÉHÉãÉgÇÃílÇ≈džÇÈ gxDefaultRaster ÇégǢNjÇ∑ÅBDZÇÍÇ…ÇÊÇËÅAÉfÉtÉHÉãÉgÇÃÉIÉvÉVÉáÉìÇégǡǃÉCÉÅÅ[ÉWÇ™ÉåÉìÉ_ÉäÉìÉOÇ≥ÇÍÅAì]ëóÉÇÅ[ÉhÇ™âåà (Resolve) Ç≥ÇÍǃÅAÇ∑Ç◊ǃÇÃÉvÉåÅ[ÉìÇ™ìØéûÇ…ÉåÉìÉ_ÉäÉìÉOÇ≥ÇÍÇ‹Ç∑ÅBÇΩÇæÇµÅADZÇÃê›íËÇ™ìKêÿÇ≈ǻǢDZÇΔLJdžÇËÇ‹Ç∑ÅB

éüÇÃÉvÉåÅ[ÉìÇàÛç¸Ç∑ÇÈëOÇ…ÅAdžÇÈÉvÉåÅ[ÉìÇÃÉåÉìÉ_ÉäÉìÉOÇΔàÛç¸ÇÇ‹ÇΔÇflǃçsÇÌÇ»ÇØÇÍnjǻÇÁǻǢDZÇΔLJdžÇËÇ‹Ç∑ÅBDZÇÃèÍçáÇÕÅAgxOnePlaneAtATime ÇégǢNjÇ∑ÅBèoóÕÇ∑ÇÈïKóvÇÃdžÇÈdžÇÁljÇÈÉvÉåÅ[ÉìÇ…ëŒÇµÇƒ 1 ǬÇÃÉvÉåÅ[ÉìÉåÉRÅ[ÉhÇéwíËÇ∑ÇÈDZÇΔÇ™ïKóvÇ…Ç»ÇËÇ‹Ç∑ÅBè⁄ç◊DžǬǢǃÇÕÅADZÇà TECHNOTE ÇÃÅuäeÉvÉåÅ[ÉìÇÇ‹ÇΔÇflǃàÛç¸Ç∑ÇÈÅvÇÃÉZÉNÉVÉáÉìÇéQèΔǵǃÇ≠ÇæÇ≥Ç¢ÅB

ëŒè€ÇΔÇ»ÇÈÉvÉäÉìÉ^Ç™Ç∑Ç◊ǃÇÃÉfÅ[É^ÇÃëóêMÇïKóvÇΔÇ∑ÇÈèÍçáÇÕ (çïêFÇÃóÃàÊLJ) ÅAgxSendAllBands ÇégǢNjÇ∑ÅB

gxDontResolveTransferModes ÇÕÅAëŒè€ÇΔÇ»ÇÈ 32 ÉrÉbÉgÉfÉoÉCÉXÇ™ÇÊÇËçÇë¨Ç»ì]ëóÇçsǧDZÇΔÇ™Ç≈Ç´ÇÈÇÊǧDžÅAGX Çà Resolving ì]ëóÉÇÅ[ÉhÇí‚é~Ç∑ÇÈÇΩÇflÇ…égǢNjÇ∑ÅBì]ëóÉÇÅ[ÉhÇÃè⁄ç◊DžǬǢǃÇÕÅAÅuInside Macintosh: QuickDraw GX ObjectsÅvÇÃ5-11 ÉyÅ[ÉWÇéQèΔǵǃÇ≠ÇæÇ≥Ç¢ÅBëÂïîï™ÇÃÉAÉvÉäÉPÅ[ÉVÉáÉìÇ≈ÇÕÅAGX Ç™é©ìÆìIÇ…ç≈ìKÇ»ê›íËÇçsǢNjÇ∑ÅB

íËêî

íl

gxDefaultRaster

0

gxDontResolveTransferModes

0x01

gxRenderInReverse

0x02

gxOnePlaneAtATime

0x04

gxSendAllBands

0x08

Åú hImageResÅAvImageRes: DZÇÍÇÁÇÕëŒè€ÇΔÇ»ÇÈÉâÉXÉ^ÉfÉoÉCÉXÇÃêÖïΩÇ®ÇÊÇ—êÇíºï˚å¸ÇÃâëúìxÇï\Ç∑å≈íËè¨êîì_êîÇ≈Ç∑ÅBÇΩÇΔǶnjÅA144 dpi ÇÃÉfÉoÉCÉXÇ…ëŒÇµÇƒÇÕ 0x00900000 ÇégǢNjÇ∑ÅB

Åú minBandSize: DZÇÍÇÕê∂ê¨Ç≥ÇÍÇÈäeÉoÉìÉhÇÃç≈è¨ÇÃçÇÇ≥ÇÉsÉNÉZÉãíPà Ç≈ï\ǵNjÇ∑ÅB

Åú maxBandSize: DZÇÍÇÕê∂ê¨Ç≥ÇÍÇÈäeÉoÉìÉhÇÃç≈ëÂÇÃçÇÇ≥ÇÉsÉNÉZÉãíPà Ç≈ï\ǵNjÇ∑ÅBDZÇÃÉpÉâÉÅÅ[É^Ç… 0 ÇéwíËÇ∑ÇÈÇΔÅAÉyÅ[ÉWëSëÃÇ™ê∂ê¨Ç≥ÇÍÇ‹Ç∑ÅB

Åú ramPercentageÅAramSlop: DZÇÍÇÁ 2 ǬÇÃílÇÕÅAÇ«ÇÃíˆìxÇÃàÍéûÉÅÉÇÉäÇ™égópâ¬î\Ç≈džÇÈÇ©ÇåvéZÇ∑ÇÈÇΩÇflÇ…égǢNjÇ∑ÅBRamSlop ÇÕÅAëºÇÃÉAÉvÉäÉPÅ[ÉVÉáÉì (ǬNjÇËÅAFinder ÇΔÉVÉXÉeÉÄ) ÇÃÇΩÇflÇ…ämï€ÇµÇƒÇ®Ç≠égópâ¬î\Ç»ç≈è¨ÇÃàÍéûÉÅÉÇÉäóeó Ç≈Ç∑ÅBRamPercentage ÇÕÅAécÇ≥ÇÍǃǢÇÈÉÅÉÇÉäóeó ÇÃâΩ % ÇégópÇ∑ÇÈÇ©ÇéwíËǵNjÇ∑ÅBåvéZéÆÇÕéüÇÃÇÊǧDžǻÇËÇ‹Ç∑ÅB

((égópâ¬î\Ç»ÉÅÉÇÉäóeó  - ramSlop) * ramPercentage)

DZÇÃåvéZéÆÇÃåãâ ÇÕÅAç≈è¨ÇÃÉoÉìÉhÉTÉCÉYÇÃî{êîÇ…ä€ÇflÇÁÇÍÇ‹Ç∑ÅBÇΩÇΔǶnjÅAëºÇÃÉAÉvÉäÉPÅ[ÉVÉáÉìÇÃÇΩÇflÇ… 100K ÇÃÉÅÉÇÉäÇämï€ÇµÅAécÇ¡ÇΩÉÅÉÇÉäóeó ÇÃîºï™ÇégópÇ∑ÇÈèÍçáÇÕÅAramPercentage Ç… 0x00008000ÅAramSlop Ç… 0x00019000 ÇégǢNjÇ∑ÅBDZÇÍÇÁÇÃílÇÕÅAÉhÉâÉCÉoÇ™è\ï™Ç»àÍéûÉÅÉÇÉäÇégǡǃǪÇÍÇ»ÇËÇÃë¨ìxÇ≈ÉCÉÅÅ[ÉWÇÃÉåÉìÉ_ÉäÉìÉOÇçsÇ¢ÅAǩǬÉVÉXÉeÉÄÇǪÇÍÇŸÇ«à≥îóǵǻǢÇÊǧDžê›íËÇ∑ÇÈïKóvǙdžÇËÇ‹Ç∑ÅB

Åú depth: ÉCÉÅÅ[ÉWÉìÉOÇ…égópÇ∑ÇÈÉvÉåÅ[ÉììñÇΩÇËÇÃÉsÉNÉZÉãêîÇ≈Ç∑ÅB

Åú numPlanes: ÉtÉHÉçÅ[Ç∑ÇÈÉvÉåÅ[ÉìÇÃêîÇ≈Ç∑ÅBí èÌÅADZÇÃÉpÉâÉÅÅ[É^ÇÃílÇÕ 1 Ç‹ÇΩÇÕ 4 Ç…Ç»ÇËÇ‹Ç∑ÅB1 ÇÕÉfÉBÉUÉåÉìÉ_ÉäÉìÉOÇ…ëŒâûǵÅA4 ÇÕÉnÅ[ÉtÉgÅ[ÉìÉåÉìÉ_ÉäÉìÉOÇ…ëŒâûǵNjÇ∑ÅB

ÉvÉåÅ[Éì

ÉvÉåÅ[ÉìÉIÉvÉVÉáÉì
ê∂ê¨Ç∑ÇÈäeÉvÉåÅ[ÉìDžǬǢǃÅAÉvÉåÅ[ÉìèÓïÒÇéwíËÇ∑ÇÈïKóvǙdžÇËÇ‹Ç∑ (ÉäÉ\Å[ÉXÇÃDZÇÃïîï™ÇÕ gxPlaneSetupRec ÉfÅ[É^ç\ë¢ëÃÇΔìØÇ∂Ç≈Ç∑)ÅBí èÌÅAÉfÉBÉUÉåÉìÉ_ÉäÉìÉOÇçsǧDžÇÕ 1 ǬÇÃÉvÉåÅ[ÉìÇê∂ê¨ÇµÅAÉnÅ[ÉtÉgÅ[ÉìÉåÉìÉ_ÉäÉìÉOÇçsǧDžÇÕ 4 ǬÇÃÉvÉåÅ[ÉìÇê∂ê¨ÇµÇ‹Ç∑ÅB

Åú planeOptions: DZÇÃÉpÉâÉÅÅ[É^ÇÕéüÇÃílÇÇΔÇËÇ‹Ç∑ÅB

íËêî

íl

gxDefaultOffscreen

0

gxDontSetHalftone

1

gxDotTypeIsDitherLevel

2

äeÉvÉåÅ[ÉìÇ…ëŒÇ∑ÇÈǪÇÃëºÇÃÉpÉâÉÅÅ[É^ÇÃílÇÕÅAÉnÅ[ÉtÉgÅ[ÉìÉCÉÅÅ[ÉWÇ‹ÇΩÇÕÉfÉBÉUÉCÉÅÅ[ÉWÇÃÇ«ÇøÇÁÇëIëÇ∑ÇÈǩDžÇÊǡǃàŸÇ»ÇËÇ‹Ç∑ÅB

ÉfÉBÉUÉäÉìÉOÇ…ëŒâûÇ∑ÇÈÉvÉåÅ[ÉìÇÃíl
ÉfÉBÉUÉvÉåÅ[ÉìÇ…égópÇ∑ÇÈílÇÃÉTÉìÉvÉãDžǬǢǃÇÕÅAÅuInside Macintosh: QuickDraw GX Printing Extensions and DriversÅvÇà 3-63 ÉyÅ[ÉWÇéQèΔǵǃÇ≠ÇæÇ≥Ç¢ÅBÉfÉBÉUÉCÉÅÅ[ÉWÇÃèÍçáÅAëÂïîï™ÇÃÉtÉBÅ[ÉãÉhÇÕñ¢égópÇÃNjNjDžǵǃǮǴNjÇ∑ (ǬNjÇËñ≥éãÇ≥ÇÍÇ‹Ç∑)ÅBQuickDraw GX ÇÃÉfÉBÉUÉäÉìÉOÇÃäTóvDžǬǢǃÇÕÅAÅuInside Macintosh: QuickDraw GX ObjectsÅvÇà 7-10 ÉyÅ[ÉWÇ©ÇÁ 7-13 ÉyÅ[ÉWÇéQèΔǵǃÇ≠ÇæÇ≥Ç¢ÅB

Åú planeOptions: DZÇÃÉpÉâÉÅÅ[É^ÇÕ 3 Ç…ê›íËǵǃÇ≠ÇæÇ≥Ç¢ (gxDontSetHalftone + gxDotTypeIsDitherLevel)ÅBgxDontSetHalftone ÇÕÉfÉBÉUÉCÉÅÅ[ÉWÇÃçÏê¨Ç QuickDraw GX Ç…éwé¶ÇµÅAgxDotTypeIsDitherLevel ÇÕÉfÉBÉUÉåÉxÉãÇ…ëŒÇµÇƒÅAplaneHalftone Ç…ä‹Ç‹ÇÍÇÈ method ÉpÉâÉÅÅ[É^ÇégópÇ∑ÇÈDZÇΔÇ QuickDraw GX Ç…éwé¶ÇµÇ‹Ç∑ÅB

Åú planeHalftone: DZÇÃÉpÉâÉÅÅ[É^ÇÕ gxHalftone ÉfÅ[É^ç\ë¢ëÃÇä‹Ç›ÅAÉfÉBÉUÉäÉìÉOÇçsǧÇΔÇ´ÅAǪÇÃëÂïîï™Ç™égópÇ≥ÇÍÇ‹ÇπÇÒÅBÇΩÇæÇµÅAplaneOptions Ç≈ gxDotTypeIsDitherLevel íËêîÇégópǵǃǢÇÈèÍçáÇÕÅAÉfÉBÉUÉåÉxÉãÇê›íËÇ∑ÇÈÇΩÇflÇ… method ÇÃílÇ™égópÇ≥ÇÍÇ‹Ç∑ÅB
angle: ñ¢égóp (0 Ç…ê›íË)ÅB
frequency: ñ¢égóp (0 Ç…ê›íË)ÅB
method: ÉfÉBÉUÉåÉxÉãÇ…égópÇ≥ÇÍÇÈÅB
tinting: ñ¢égóp (gxLuminanceTint Ç…ê›íË)ÅB
dotColor: ñ¢égóp (gxRGBSpace, gxNoProfile, 0x0000, 0x0000, 0x0000, 0x0000 Ç…ê›íË)ÅB
backgroundColor: ñ¢égóp (gxRGBSpace, gxNoProfile, 0x0000, 0x0000, 0x0000, 0x0000 Ç…ê›íË)ÅB
tintSpace: ñ¢égóp (gxRGBSpace Ç…ê›íË)ÅB

Åú planeSpace: DZÇÍÇÕÉvÉåÅ[ÉìÇÃÉJÉâÅ[ÉXÉyÅ[ÉXÇ≈Ç∑ÅBàÍî Ç…ÅADZÇÃÉpÉâÉÅÅ[É^Ç…ÇÕ gxIndexedSpace Çê›íËǵÅAéüÇÃÉpÉâÉÅÅ[É^Ç≈ÅAÉJÉâÅ[ÉXÉyÅ[ÉXÇ…ëŒÇ∑ÇÈÉäÉ\Å[ÉX ID Ç‹ÇΩÇÕÉJÉâÅ[ÉXÉyÅ[ÉXç\ë¢ëÃÇéwíËǵNjÇ∑ÅB

Åú planeSet: ÉJÉâÅ[ÉXÉyÅ[ÉXÇ…ëŒÇ∑ÇÈÉäÉ\Å[ÉX ID Ç‹ÇΩÇÕÉJÉâÅ[ÉXÉyÅ[ÉXç\ë¢ëÃÇ≈Ç∑ÅB

Åú planeProfile: ÉvÉåÅ[ÉìÇÃÉJÉâÅ[ì¡ê´Ç≈Ç∑ÅBÉJÉâÅ[ì¡ê´Ç™Ç»Ç¢èÍçáÇÕÅADZÇÃÉpÉâÉÅÅ[É^Ç… gxNoProfile Çê›íËÇ≈Ç´Ç‹Ç∑ÅB


ÉnÅ[ÉtÉgÅ[ÉìÉåÉìÉ_ÉäÉìÉOÇ…ëŒâûÇ∑ÇÈÉvÉåÅ[ÉìÇÃíl
DZDZÇ≈ÇÕÅACMYK ÉvÉäÉìÉ^Ç≈ÇÃÉnÅ[ÉtÉgÅ[ÉìÉCÉÅÅ[ÉWÇÃê∂ê¨ÇéÊÇËàµÇ¢Ç‹Ç∑ÅB

DZÇÃèàóùÇç≈ìKÇ…çsǧDžÇÕÅA4 ǬÇÃÉvÉåÅ[ÉìÇǪÇÍǺÇÍå¬ï Ç…ÉåÉìÉ_ÉäÉìÉOÇ∑ÇÈïKóvǙdžÇËÇ‹Ç∑ÅBQuickDraw GX ÇÃÉnÅ[ÉtÉgÅ[ÉìÉåÉìÉ_ÉäÉìÉOÇÃäTóvDžǬǢǃÇÕÅAÅuInside Macintosh: QuickDraw GX ObjectsÅvÇà 7-13 Ç©ÇÁ 7-17 ÇéQèΔǵǃÇ≠ÇæÇ≥Ç¢ÅB

Åú planeOptions: DZÇÃÉpÉâÉÅÅ[É^ÇÕ 0 ( gxDefaultOffscreen ) Ç…ê›íËǵǃÇ≠ÇæÇ≥Ç¢ÅBëºÇà 2 ǬÇÃíËêîÇÕÉfÉBÉUÉäÉìÉOÇ…égópǵNjÇ∑ÅB

Åú planeHalftone:

angle: DZÇÃÉpÉâÉÅÅ[É^Ç≈ÇÕÅAÉhÉbÉgÇÃå©Ç©ÇØè„ÇÃï˚å¸ÇìxíPà Ç≈éwíËǵNjÇ∑ÅBDZÇÍÇÕå≈íËè¨êîì_êîÇ≈Ç∑ÅBÇΩÇΔǶnjÅA15 ìxÇéwíËÇ∑ÇÈÇ…ÇÕÅA0x000F0000 ÇégǢNjÇ∑ÅB


frequency: DZÇÃÉpÉâÉÅÅ[É^ÇÕÅA1 ÉCÉìÉ`ìñÇΩÇËÇÃÉZÉãêîÇíPà ÇΔǵÇΩÉtÉHÉìÉgÇÃÉTÉCÉYÇ≈Ç∑ÅBDZÇÍÇÕå≈íËè¨êîì_êîÇ≈Ç∑ÅBÇΩÇΔǶnjÅA1 ÉCÉìÉ`ìñÇΩÇË 45 ÉZÉãÇ…ê›íËÇ∑ÇÈÇ…ÇÕÅA0x002D0000 ÇégǢNjÇ∑ÅB


method: DZÇÃÉpÉâÉÅÅ[É^ÇÕÉhÉbÉgÇÃå`èÛÇíËã`ǵNjÇ∑ÅB

íËêî

íl

gxRoundDot

1

gxSpiralDot

2

gxSquareDot

3

gxLineDot

4

gxEllipticDot

5

gxTriangleDot

6

gxDispersedDot

7

tinting: DZÇÃÉpÉâÉÅÅ[É^ÇÕåªç›ÇÃÉpÉXÇ…ä÷òAǵÅACMYK Ç…ëŒÇµÇƒÅAéüÇÃílÇ™äÑÇËìñǃÇÁÇÍÇ‹Ç∑ÅB

íËêî

íl

?/TD>
gxComponent1Tint

4

ÉVÉAÉìÉpÉX
gxComponent2Tint

5

É}É[ÉìÉ^ÉpÉX
gxComponent3Tint

6

ÉCÉGÉçÅ[ÉpÉX
gxComponent4Tint

7

ÉuÉâÉbÉNÉpÉX

dotColor: DZÇÃÉpÉâÉÅÅ[É^Ç…ÇÕçïêFÇÃÉhÉbÉgÇê›íËǵNjÇ∑ÅBDZÇÍà»äOÇÃêFÇéwíËÇ∑ÇÈÇΔÅAÉCÉÅÅ[ÉWÇ™ê≥èÌÇ…ÉåÉìÉ_ÉäÉìÉOÇ≥ÇÍǻǢå¥àˆÇΔÇ»ÇËÇ‹Ç∑ÅB

gxRGBSpace, gxNoProfile, 0x0000, 0x0000, 0x0000, 0x0000

backgroundColor: ÉvÉäÉìÉ^ÇÃÉoÉbÉNÉOÉâÉEÉìÉhÉJÉâÅ[ÇÕí èÌîíêFÇ≈džÇÈÇΩÇfl (ǬNjÇËópéÜÇÃêF)ÅADZÇÃÉpÉâÉÅÅ[É^Ç…ÇÕîíêFÇÃÉhÉbÉgÇê›íËǵNjÇ∑ÅB

gxRGBSpace, gxNoProfile, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF

tintSpace: DZÇÃÉpÉâÉÅÅ[É^Ç…ÇÕÉvÉåÅ[ÉìÇÃÉJÉâÅ[ÉXÉyÅ[ÉXÇê›íËǵNjÇ∑ÅBCMYK ÇÃèÍçáÇÕ gxCMYKSpace Ç…ê›íËǵNjÇ∑ÅB

Åú planeSpace: DZÇÍÇÕÉvÉåÅ[ÉìÇÃÉIÉäÉWÉiÉãÉJÉâÅ[ÉXÉyÅ[ÉXÇ≈Ç∑ÅBÉnÅ[ÉtÉgÅ[ÉìÇÃèÍçáÅADZÇÃÉpÉâÉÅÅ[É^ÇÕ gxNoSpace Ç…ê›íËǵNjÇ∑ÅB


Åú planeSet: ÉJÉâÅ[ÉXÉyÅ[ÉXÇ™ïKóvǻǢÇΔÇ´ÇÕ nil Ç…ê›íËǵNjÇ∑ÅB


Åú planeProfile: DZÇÃÉpÉâÉÅÅ[É^ÇÕ gxNoProfile Ç…ê›íËǵNjÇ∑ÅB


ImageWriter II Ç≈ÉnÅ[ÉtÉgÅ[ÉìÉåÉìÉ_ÉäÉìÉOÇçsǧÇΩÇflÇà 'rdip' ÉäÉ\Å[ÉXÇÃÉTÉìÉvÉã

Å®ÉTÉìÉvÉãÉRÅ[ÉhÇÃï\é¶

ǪÇÃèÍÇ≈ÉâÉXÉ^ÉvÉäÉtÉ@ÉåÉìÉXÇ…ÉpÉbÉ`ÇìñǃÇÈ
ÉhÉâÉCÉoÇ…ÇÊÇÈÉCÉÅÅ[ÉWÇÃÉåÉìÉ_ÉäÉìÉOï˚ñ@ÇïœçXǵÇΩÇ¢èÍçáǙdžÇËÇ‹Ç∑ÅBÇΩÇΔǶnjÅAÉfÉtÉHÉãÉgÇà angle ÇΔ frequency ÇégǡǃÉnÅ[ÉtÉgÅ[ÉìÉCÉÅÅ[ÉWÇÃÉåÉìÉ_ÉäÉìÉOÇçsǧÇΔÉÇÉAÉåÇ™î≠ê∂Ç∑ÇÈDZÇΔǙdžÇËÇ‹Ç∑ÅBDZÇÃèÍçáÅAÉpÉâÉÅÅ[É^ÇÃê›íËílÇÇÌÇ∏ǩDžïœçXÇ∑ÇÈDZÇΔÇ≈ñ‚ëËÇâåàÇ≈Ç´Ç‹Ç∑ÅBÇΩÇæÇµÅAíPèÉÇ… 'rdip' Ç…ÉpÉbÉ`ÇìñǃÇÈÇæÇØÇ≈ÇÕ GX ÉhÉâÉCÉoÇÃÉåÉìÉ_ÉäÉìÉOï˚ñ@ÇïœçXÇ∑ÇÈDZÇΔÇÕÇ≈Ç´Ç‹ÇπÇÒÅB

DZÇÃèàóùÇé¿çsÇ∑ÇÈÇ…ÇÕÅAÉÜÉjÉoÅ[ÉTÉãÉCÉÅÅ[ÉWÉÅÉbÉZÅ[ÉW GXSetupImageData ÇÉIÅ[ÉoÅ[ÉâÉCÉhǵǃÅADZÇÃÉÅÉbÉZÅ[ÉWÇ…ìnÇ∑ÉfÅ[É^Ç…ïœçXÇâ¡Ç¶Ç‹Ç∑ÅBDZÇÃÉÅÉbÉZÅ[ÉWÇégópÇ∑ÇÈÇΔÅAîCà”ÇÃéÌófiÇÃÉvÉäÉìÉ^ (ÉâÉXÉ^ÅAPostScript Ç‹ÇΩÇÕÉxÉNÉ^ÉvÉäÉìÉ^) Ç…ä÷Ç∑ÇÈÉåÉìÉ_ÉäÉìÉOèÓïÒÇïœçXÇ∑ÇÈDZÇΔÇ™Ç≈Ç´Ç‹Ç∑ÅBDZÇÃÉÅÉbÉZÅ[ÉWÇ…ìnÇ∑ÉfÅ[É^ÇÃéÌófiÇÕÅAëŒè€ÇΔÇ»ÇÈÉhÉâÉCÉoÇÃéÌófiÇ…ÇÊǡǃàŸÇ»ÇËÇ‹Ç∑ÅBÇ‹ÇΩÅADZÇÃÉÅÉbÉZÅ[ÉWÇåƒÇ—èoÇ∑DZÇΔǪÇÃLJÇÃÇ…ÇÕà”ñ°ÇÕdžÇËÇ‹ÇπÇÒÅBèÓïÒÇ™ïKÇ∏ǵLJì«Ç›çûÇ‹ÇÍÇÈÇÌÇØÇ≈ÇÕǻǢÇΔǢǧDZÇΔÇ≈Ç∑ÅBDZÇÃÇΩÇflÅAÉIÅ[ÉoÅ[ÉâÉCÉhÇ≈ç≈èâÇ…çsǧÇ◊ǴDZÇΔÇÕÉÅÉbÉZÅ[ÉWÇëóÇËèoÇ∑DZÇΔÇ≈Ç∑ÅBǪǧÇ∑ÇÍÇŒÉfÉtÉHÉãÉgÇÃílÇ™ì«Ç›çûÇ‹ÇÍÇ‹Ç∑ÅBÉâÉXÉ^ÉhÉâÉCÉoÇÃèÍçáÇÕÅAgxRasterImageDataHdl Ç™ìnÇ≥ÇÍÇ‹Ç∑ÅB

OSErr My_GXSetupImageData ( gxRasterImageDataHdl hImageData )
{
    OSErr anErr;
    anErr = Forward_GXSetupImageData ( hImageData );
    nrequire ( anErr, Forward_GXSetupImageData );
    //
    // DZDZÇ≈ÉpÉbÉ`ÇìñǃÇÈ
    //
    // àÍî ÉZÉbÉgÉAÉbÉvèÓïÒ (è„à ÉrÉbÉg) ÇÕ
    // éüÇÃÇÊǧDžÉAÉNÉZÉXÇ≈Ç´ÇÈ:
    //
    // (*hImageData)->theSetup.xxxxxxx
    //
    // äeÉvÉåÅ[ÉìÇÃèÓïÒÇÕéüÇÃÇÊǧDžÉAÉNÉZÉXÇ≈Ç´ÇÈ
    //
    // (*hImageData)->theSetup.planeSetup[0].xxxxxxx
    //
    Forward_GXSetupImageData:
    return anErr;
}

ÉCÉÅÅ[ÉWÇ™ÉnÅ[ÉtÉgÅ[ÉìÇ‹ÇΩÇÕÉfÉBÉUÇÃÇ«ÇøÇÁÇ≈ÉåÉìÉ_ÉäÉìÉOÇ≥ÇÍÇÈèÍçáDžLJÅAîCà”ÇÃêîÇÃÉpÉâÉÅÅ[É^ÇïœçXÇ∑ÇÈDZÇΔÇ™Ç≈Ç´Ç‹Ç∑ÅBDZÇÃèàóùÇÃÉTÉìÉvÉãDžǬǢǃÇÕÅA"IW-Half-Dither" ÉTÉìÉvÉãÉRÅ[ÉhÇéQèΔǵǃÇ≠ÇæÇ≥Ç¢ÅB



äeÉvÉåÅ[ÉìÇÇ‹ÇΔÇflǃàÛç¸Ç∑ÇÈ
àÍïîÇÃÉvÉäÉìÉ^Ç≈ÇÕÅAǪÇÍǺÇÍÇÃÉvÉåÅ[ÉìÇÃÉåÉìÉ_ÉäÉìÉOÇΔàÛç¸ÇìØéûÇ…çsǧïKóvǙdžÇËÇ‹Ç∑ (ÇΩÇΔǶnjÅAàÛç¸ÉwÉbÉhÇ™ 1 ǬǵǩǻÇ≠ÅAǵǩLJÉCÉìÉNÇÃåä∑Ç…éûä‘ÇÃǩǩÇÈÉvÉäÉìÉ^)ÅB

DZÇÃèàóùÇé¿çsÇ∑ÇÈ 1 ǬÇÃï˚ñ@ÇΔǵǃÅAÉåÉìÉ_ÉäÉìÉOÉIÉvÉVÉáÉìÇ…ä‹Ç‹ÇÍÇÈ gxOnePlaneAtATime ÉIÉvÉVÉáÉìÇégópÇ∑ÇÈDZÇΔÇ™Ç≈Ç´Ç‹Ç∑ÅBDZÇÃï˚ñ@Ç≈ÇÕÅAéwíËǵÇΩÉvÉåÅ[ÉìÇ≤ÇΔÇ…Ç∑Ç◊ǃÇÃÉâÉXÉ^ÉfÅ[É^Ç™àÍìxÇ…ëóêMÇ≥ÇÍÇ‹Ç∑ÅBÇΩÇæÇµÅADZÇÃï˚ñ@Ç™ç¨óêÇÃLJÇΔÇ…Ç»ÇÈèÍçáLJdžÇËÇ‹Ç∑ÅBÇΩÇΔǶnjÅAéwíËǵÇΩ 4 ǬÇÃÉvÉåÅ[ÉìÇä‹Çfi 'rdip' ÉäÉ\Å[ÉXǙdžÇÈÇΔǵNjÇ∑ÅBàÍå© GXRasterPackageBitmap() ÉÅÉbÉZÅ[ÉWÇ™ 4 âÒåƒÇ—èoÇ≥ÇÍÇÈÇÊǧDžévÇÌÇÍÇÈǩLJǵÇÍÇ‹ÇπÇÒÅBǵǩǵÅADZÇÍÇÕåÎÇËÇ≈ÅAé¿ç€Ç…ÇÕ 16 âÒåƒÇ—èoÇ≥ÇÍÇÈDZÇΔÇ…Ç»ÇËÇ‹Ç∑ÅBǬNjÇËÅA4 ǬÇÃÉvÉåÅ[ÉìÇÃäeÉvÉåÅ[ÉìDžǬǢǃ 1 âÒÇ∏ǬÇΔǢǧåvéZÇ≈Ç∑ÅB

DZÇÃñ‚ëËÇâÒîÇ∑ÇÈÇΩÇflÇ¢Ç≠ǬǩÇÃï˚ñ@Ç™ópà”Ç≥ÇÍǃǢNjÇ∑ÅBç≈LJä»íPÇæÇΔévÇÌÇÍÇÈï˚ñ@ÇÕÅAGXRasterPackageBitmap() ÉÅÉbÉZÅ[ÉWÇ©ÇÁïsïKóvÇ»ÉvÉåÅ[ÉìÇîrèúÇ∑ÇÈDZÇΔÇ≈Ç∑ÅBåªç›àÛç¸íÜÇÃÉvÉåÅ[ÉìÇí«ê’Ç∑ÇÈÉJÉEÉìÉ^ÇÉOÉçÅ[ÉoÉãç\ë¢ëÃÇ…ÉZÉbÉgÉAÉbÉvǵÅAÇ≥ÇÁÇ…ÉåÉìÉ_ÉäÉìÉOÉIÉvÉVÉáÉìÇ…ä‹Ç‹ÇÍÇÈ gxSendAllBands ÉIÉvÉVÉáÉìÇégópÇ∑ÇÈïKóvǙdžÇËÇ‹Ç∑ÅB

ÉOÉçÅ[ÉoÉãç\ë¢ëà pGlobals ÇΔÉvÉåÅ[ÉìÉpÉâÉÅÅ[É^ currentPlane ÇåƒÇ—èoÇ∑DZÇΔÇ…Ç»ÇËÇ‹Ç∑ÅBGXRenderPage() ÉÅÉbÉZÅ[ÉWÇÕéüÇÃÇÊǧDžǻÇËÇ‹Ç∑ÅB

OSErr My_GXRenderPage ( gxFormat theFormat,
                        gxShape thePage,
                        gxPageInfoRecord *pageInfo,
                        gxRasterImageDataHdl imageInfo)
{
    ......
    pGlobals->currentPlane = 0;
    ......
}

DZÇÍÇ…ÇÊÇËÅAäeÉvÉåÅ[ÉìÇ™ÉåÉìÉ_ÉäÉìÉOÇ≥ÇÍÇÈëOÇ…ÅAcurrentPlane ÉJÉEÉìÉ^ÇÃílÇ™ämé¿Ç… 0 Ç…ê›íËÇ≥ÇÍÇ‹Ç∑ÅB

ÉvÉåÅ[ÉìÉJÉEÉìÉ^ÇÃílÇÕ GXRasterPackageBitmap() ÉÅÉbÉZÅ[ÉWÇÃíÜÇ≈ÉCÉìÉNÉäÉÅÉìÉgÇ≥ÇÍÇ‹Ç∑ÅBÉyÅ[ÉWÇÃè„í[DžǢǃÅAêÊì™ÇÃÉoÉìÉhÇàÛç¸ÇµÇÊǧÇΔǵǃǢÇÈǩǫǧǩǙÉ`ÉFÉbÉNÇ≥ÇÍÇ‹Ç∑ÅBLJǵǪǧÇ≈džÇÍÇŒÅAÉwÉbÉhÇÃêFÇ currentPlane ÇÃêFÇ…ïœçXÇ∑ÇÈïKóvǙdžÇËÇ‹Ç∑ÅBàÍï˚ÅAêÊì™ÇÃÉvÉåÅ[ÉìÇàÛç¸ÇµÇƒÇ¢Ç»Ç¢èÍçáÇÕÅAÉwÉbÉhÇÉyÅ[ÉWÇÃè„í[Ç…ñflÇ∑ïKóvǙdžÇËÇ‹Ç∑ÅB

OSErr My_GXRasterPackageBitmap (
    gxRasterPackageBitmapRec *pPackage,
    Ptr buffer,                 // ÉfÅ[É^ÇÕDZDZ + bufferPos Ç…çsÇ≠
    unsigned long *bufferPos,   // Ç«ÇÃíˆìxÇÃÉoÉbÉtÉ@Ç™Ç∑Ç≈Ç…
                                // ǢǡǜǢDžǻǡǃǢÇÈÇ©
    gxRasterImageDataHdl hImageData)    // ÉvÉâÉCÉxÅ[ÉgÉCÉÅÅ[ÉWÉfÅ[É^
{
    ......
    ......
    if ( (pPackage->startRaster == 0)
    && (pPackage->colorBand == 1 ) )
    {
        pGlobals->currentPlane++;
        // ÉwÉbÉhÇÃêFÇïœçXÇ∑ÇÈ
        // Ç‹ÇΩÅAcurrentPlane Ç™ > 1 ÇÃèÍçáÇÕÅAÉwÉbÉhÇå≥Ç…ñflÇ∑ÇΩÇflÇÃÉRÅ[ÉhÇãlÇflçûÇfi
    }
    ......

DZÇÃÉIÅ[ÉoÅ[ÉâÉCÉhÇ≈ÇÕïsïKóvÇ»ÉfÅ[É^ÇîrèúÇ∑ÇÈïKóvLJdžÇËÇ‹Ç∑ÅBDZÇÃèàóùÇçsǧDžÇÕÅAíPèÉDžǪÇÃÉfÅ[É^ÇàÛç¸ÇµÇ»Ç¢ÇÊǧDžǵNjÇ∑ÅB

    // DZÇÃÉJÉâÅ[ÉoÉìÉhÇàÛç¸Ç∑ÇÈïKóvǙdžÇÈǩǫǧǩämîFÇ∑ÇÈ
    if ( pPackage->colorBand == pGlobals->currentPlane)
    {
        // DZÇÍÇ≈ÉâÉXÉ^èÓïÒÇ™ÉvÉäÉìÉ^Ç…ëóêMÇ≥ÇÍÇÈ
        ......
    }

óvñÒ
'rdip' ÉäÉ\Å[ÉXÇÕÅAQuickDraw GX ÉvÉäÉìÉ^ÉhÉâÉCÉoÇÃÉfÉxÉçÉbÉpÇ…ÇΔǡǃîÒèÌÇ…ñÇ…óßÇøÇ‹Ç∑ÅB'rdip' ÇégópÇ∑ÇÈÇΔÅAé©ï™Ç≈ÉåÉìÉ_ÉäÉìÉOÉcÅ[ÉãÇèëÇ≠DZÇΔÇ»Ç≠ÅAÉCÉÅÅ[ÉWÇÃÉåÉìÉ_ÉäÉìÉOï˚ñ@Çç◊Ç©Ç≠êßå‰Ç∑ÇÈDZÇΔÇ™Ç≈Ç´Ç‹Ç∑ÅBǵǩǵÅADZÇÃîÒèÌÇ…è_ìÓÇ»ã@î\ÇΔÇÕà¯Ç´ë÷ǶDžÅADZÇÃÉäÉ\Å[ÉXÇÕîÒèÌÇ…ï°éGÇ»ÉfÅ[É^ç\ë¢ëÃÇ≈džÇËÅAñ⁄ìIÇÃå¯â ÇdžÇ∞ÇÈÇΩÇflÇ…ÇÕâΩìxÇ©ÇÃé¿å±ÇçsÇÌÇ»ÇØÇÍnjǻÇÁǻǢDZÇΔLJdžÇËÇ‹Ç∑ÅBDZÇà TECHNOTE Ç™ GX ÉeÉNÉmÉçÉWÅ[Çç≈ëÂå¿Ç…äàǩǵÇΩÉhÉâÉCÉoÇèëÇ≠ÇΩÇflÇÃàÍèïÇ…Ç»ÇÍÇŒçKÇ¢Ç≈Ç∑ÅB


éQçlï∂å£
Åú Inside Macintosh: QuickDraw GX Printing Extensions and Drivers.
Åú Inside Macintosh: QuickDraw GX Printing.
Åú Inside Macintosh: QuickDraw GX Environment and Utilities.
Åú Inside Macintosh: QuickDraw GX Graphics. Page 5-30, Dithering and Halftoning Bitmaps.
Åú Inside Macintosh: QuickDraw GX Objects. Pages 7-10 to 7-13, Dithering and pages 7-13 to 7-17, Halftone.
Åú
Developer CD Series: Mac OS SDK Edition: Development Kits (Disc I): Interfaces and Libraries: Interfaces: RIncludes: GXPrintingResTypes.r.
Åú
IW-Half--Dither , Dev. CD Tool Chest Edition :Sample Code:QuickDraw
Åú
GX:IW-Half-Dither Ç‹ÇΩÇÕ Apple ÇÃÉfÉxÉçÉbÉpÉTÉCÉg: ftp://ftpdev.info.apple.com/Developer_Services/Sample_Code/QuickDraw_GX/IW-Half-Dither/
Åú
êπèëÅAÉàÉnÉlÇÃñŸé¶ò^ÅAëÊ 13 èÕ 18 êfl